package com.mall.shop.entity.order;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.util.Date;

/**
 * (Order)表实体类
 *
 * @author 龙茶清欢
 * @since 2023-01-15 20:34:57
 */
@Getter
@Setter
@TableName("oms_order")
@Schema(name = "实体", description = "映射")
public class Order implements Serializable {
    private static final long serialVersionUID = -55351292312074229L;

    @TableId(value = "id" , type = IdType.AUTO)
    @Schema(description = "id")
    private Long id;

    @TableField(value = "member_id")
    @Schema(description = "member_id")
    private Long memberId;
    
    @TableField(value = "order_sn")
    @Schema(description = "")
    private String orderSn;
    
    @TableField(value = "coupon_id")
    @Schema(description = "ʹ")
    private Long couponId;
    
	@TableField(value = "create_time" , fill = FieldFill.INSERT)
    @Schema(description = "create_time")
    private Date createTime;
    
    @TableField(value = "member_username")
    @Schema(description = "")
    private String memberUsername;
    
    @TableField(value = "total_amount")
    @Schema(description = "")
    private Double totalAmount;
    
    @TableField(value = "pay_amount")
    @Schema(description = "Ӧ")
    private Double payAmount;
    
    @TableField(value = "freight_amount")
    @Schema(description = "")
    private Double freightAmount;
    
    @TableField(value = "promotion_amount")
    @Schema(description = "")
    private Double promotionAmount;
    
    @TableField(value = "integration_amount")
    @Schema(description = "")
    private Double integrationAmount;
    
    @TableField(value = "coupon_amount")
    @Schema(description = "")
    private Double couponAmount;
    
    @TableField(value = "discount_amount")
    @Schema(description = "")
    private Double discountAmount;
    
    @TableField(value = "pay_type")
    @Schema(description = "֧")
    private Integer payType;
    
    @TableField(value = "source_type")
    @Schema(description = "")
    private Integer sourceType;
    
    @TableField(value = "status")
    @Schema(description = "")
    private Integer status;
    
    @TableField(value = "delivery_company")
    @Schema(description = "")
    private String deliveryCompany;
    
    @TableField(value = "delivery_sn")
    @Schema(description = "")
    private String deliverySn;
    
    @TableField(value = "auto_confirm_day")
    @Schema(description = "")
    private Integer autoConfirmDay;
    
    @TableField(value = "integration")
    @Schema(description = "")
    private Integer integration;
    
    @TableField(value = "growth")
    @Schema(description = "")
    private Integer growth;
    
    @TableField(value = "bill_type")
    @Schema(description = "")
    private Integer billType;
    
    @TableField(value = "bill_header")
    @Schema(description = "")
    private String billHeader;
    
    @TableField(value = "bill_content")
    @Schema(description = "")
    private String billContent;
    
    @TableField(value = "bill_receiver_phone")
    @Schema(description = "")
    private String billReceiverPhone;
    
    @TableField(value = "bill_receiver_email")
    @Schema(description = "")
    private String billReceiverEmail;
    
    @TableField(value = "receiver_name")
    @Schema(description = "")
    private String receiverName;
    
    @TableField(value = "receiver_phone")
    @Schema(description = "")
    private String receiverPhone;
    
    @TableField(value = "receiver_post_code")
    @Schema(description = "")
    private String receiverPostCode;
    
    @TableField(value = "receiver_province")
    @Schema(description = "ʡ")
    private String receiverProvince;
    
    @TableField(value = "receiver_city")
    @Schema(description = "")
    private String receiverCity;
    
    @TableField(value = "receiver_region")
    @Schema(description = "")
    private String receiverRegion;
    
    @TableField(value = "receiver_detail_address")
    @Schema(description = "")
    private String receiverDetailAddress;
    
    @TableField(value = "note")
    @Schema(description = "")
    private String note;
    
    @TableField(value = "confirm_status")
    @Schema(description = "ȷ")
    private Integer confirmStatus;
    
    @TableField(value = "delete_status")
    @Schema(description = "ɾ")
    private Integer deleteStatus;
    
    @TableField(value = "use_integration")
    @Schema(description = "")
    private Integer useIntegration;
    
    @TableField(value = "payment_time")
    @Schema(description = "֧")
    private Date paymentTime;
    
    @TableField(value = "delivery_time")
    @Schema(description = "")
    private Date deliveryTime;
    
    @TableField(value = "receive_time")
    @Schema(description = "ȷ")
    private Date receiveTime;
    
    @TableField(value = "comment_time")
    @Schema(description = "")
    private Date commentTime;
    
    @TableField(value = "modify_time")
    @Schema(description = "")
    private Date modifyTime;
    
}

